package com.yunsc.order.sevice;

import com.yunsc.order.dto.OrderPayDTO;
import com.yunsc.order.vo.OrderInfoVO;

/**
 * @version: 1.0
 * @Author: adan
 * @description: 订单支付服务接口
 * @date: 2024-05-20 11:51
 */
public interface OrderPaymentService {

    /**
     * 订单支付
     *
     * @param params  订单支付参数
     * @param userId  用户id
     * @param storeId
     */
    void orderPay(OrderPayDTO params, Integer userId, Integer storeId);

    /**
     * 余额支付
     *
     * @param orderId 订单id
     * @param method  支付方式
     * @param userId  用户id
     * @param storeId 门店id
     */
    void balancePay(Integer orderId,String method, int userId, int storeId);

    /**
     * 微信支付
     *
     * @param params  订单支付参数
     * @param userId  用户id
     * @param storeId 门店id
     */
    void wechatPay(OrderPayDTO params, Integer userId, Integer storeId);

    /**
     * 支付宝支付
     *
     * @param params  订单支付参数
     * @param userId  用户id
     * @param storeId 门店id
     */
    void alipayPay(OrderPayDTO params, Integer userId, Integer storeId);

    /**
     * 查询订单信息
     *
     * @param orderId 订单id
     * @param client  客户端类型
     * @param userId  用户id
     * @param storeId
     * @return
     */
    OrderInfoVO queryOrderInfo(int orderId, String client, Integer userId, Integer storeId);
}
